#include "carpark.h"
#include "C_code_Log.h"
#include "control.h"
uint8_t carParkMethod_default() {
  LOG("INFO", "carParkMethod_default");
  return 1;
}

/// @brief 停车任务回调函数
/// @param control 
/// @note 在完成停车任务后调用，将停车任务状态设置为完成，将旋转任务状态置为准备就绪
static void carParkCallback(ControlCenterTypeDef *control) {
  control->runState->carParkState = MY_EXIT;
    control->runState->RotateState = MY_READY;
}

/// @brief 停车任务处理函数
/// @param control 控制台
/// @note 在停车任务状态为准备就绪时调用，根据停车任务的类型执行不同的停车任务
void carParkHandle_Task(ControlCenterTypeDef *control) {
  // 如果停车任务状态为准备就绪
  if (control->runState->carParkState == MY_READY) {
    // 根据停车任务的类型执行不同的停车任务，sectionInfo是当前路段的信息的指针，指向地图
    switch (control->sectionInfo->carParkWay) {
      case NoPark:
        if (1 == carParkMethod_default()) {
          carParkCallback(control);
        }
        break;
      default:carParkCallback(control);
        break;
    }
  }
}